Project 2 - Due Tue Sep 17 at 23:00
Reading
- Lecture 3/4/5 slides and notebook
- Problems and solutions from Lab 2.
- Think Python, Chapter 3 covers functions, and Think Python, Chapter 6 covers fruitful functions, although sections 6.4 through 6.6 are material that we'll cover later.
- If you prefer an audio format, our podcast The Path to Programming has an episode for this week on Defining Functions.
Note that many of the same materials from last week are relevant this week again.
Tasks
The instructions for each task:
-
Task 1: Diamonds — Use functions to avoid repeating code while printing out a repetitive pattern. For this task, having a partner is optional but recommended.
-
Task 2: Monster Mash — Explore functions in the context of
turtle
graphics by drawing modular monsters. You may complete EITHER this task or the mixed-up melodies task, but you don't have to complete both. For this task, having a partner is optional but recommended. - Task 3: Mixed-Up Melodies —
Explore functions in the context of
wavesynth
audio by composing modular melodies. You may complete EITHER this task or the monster mash task, but you don't have to complete both. For this task, having a partner is optional but recommended.
About this Project
This project will give you practice with defining custom functions.
You'll work with text, and either turtle
graphics or wavesynth
audio.
The monsterMash and mixedUpMelodies are similar in structure, but one deals with graphics while the other deals with audio. You only need to do one of those two, but you must do the diamonds task.
If you want to find a partner to work with for this project, use this Google Sheet to do so.
Reminders
- Remember to download the starter code for each task from the Potluck server.
Time Estimate
Our per-task estimate for this project is 1-2.5 hours, plus up to an hour of reading.
How to turn in this Project
-
Upload your tasks via the Potluck server by the deadline (Tue Sep 17 at 23:00).
- For diamonds, each team member must submit
diamonds.py
. - For monsterMash, each team member must submit
monsterMash.py
. - For mixedUpMelodies, each team member must submit
mixedUpMelodies.py
.
- For diamonds, each team member must submit
-
Double-check the status of your submitted tasks, since there may be warnings.
-
Reminder: you can submit as many times as you like, and only the most recent submission will count for your grade.
-
If you run into trouble with the submissions server, contact Peter Mawhorter, and include a copy of the file(s) you were trying to submit.
- Check your score for each task and submit revisions if you need to.